package com.yiyibook.service;

import com.github.pagehelper.PageInfo;
import com.yiyibook.entity.Member;
import com.yiyibook.util.ResultEntity;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 〈功能简述〉
 *
 * @author xun.gong@hand-china.com
 * @date 2019/10/14
 */
public interface MemberService {

    /**
     * 功能描述:
     * 〈根据会员账号查询〉
     * @param memberName 会员账号
     * @return Member
     * @author xun.gong@hand-china.com
     * @date 2019/10/14
     */
    Member selectByMemberName(String memberName);

    /**
     * 功能描述:
     * 〈注册〉
     * @param member 用户信息
     * @return int
     * @author xun.gong@hand-china.com
     * @date 2019/10/14
     */
    int insert(Member member);

    /**
     * 功能描述:
     * 〈账号密码验证〉
     * @param member 会员信息
     * @return Member
     * @author xun.gong@hand-china.com
     * @date 2019/10/14
     */
    Member selectByCondition(Member member);

    /**
     * 功能描述:
     * 〈修改会员信息〉
     * @param member 会员信息
     * @return Member
     * @author yi.wu 2019-10-15
     */
    int updateByCondition(Member member);

    /**
      * 查询所有的用户 （根据分页条件）
      * @param pageInfo 分页信息对象
      * @param conditionMap 查询信息条件
      * @return com.yiyibook.util.ResultEntity<com.yiyibook.entity.Member> 查询结果集对象
      * @author yi.wu 2019-10-18 11:12
      */
    ResultEntity<Member> selectAllMember(PageInfo pageInfo, Map<String,String> conditionMap);

    /**
      * 删除会员 根据会员 id
      * @param memberId 会员 id
      * @return int 被删除的数据条数
      * @author yi.wu 2019-10-29 20:43:20
      */
    int deleteMemberById(Integer memberId);

    /**
     * 删除部分会员 根据会员 id 集合
     * @param memberIds 会员 id 集合
     * @return int 被删除的记录数
     * @author yi.wu 2019-10-30 16:21:22
     */
    int deleteAnyMemberByIds(List<Integer> memberIds);
}
